package main

import "slices"

func main() {

}

// 按照最左边的区间排序，后面的区间的左边界如果在答案里面，说明可以合并，不然就直接放
func merge(intervals [][]int) [][]int {
	ans := [][]int{}
	slices.SortFunc(intervals, func(i, j []int) int {
		return i[0] - j[0]
	})
	for _, p := range intervals {
		n := len(ans)
		if n > 0 && p[0] <= ans[n-1][1] {
			ans[n-1][1] = max(ans[n-1][1], p[1])
		} else {
			ans = append(ans, p)
		}
	}
	return ans
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}
